
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN">
  <head>
    <meta charset="utf-8" />
    <title>posix --- 最常见的 POSIX 系统调用 &#8212; Python 3.7.8 文档</title>
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>
    <script type="text/javascript" src="../_static/translations.js"></script>
    
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    
    <link rel="search" type="application/opensearchdescription+xml"
          title="在 Python 3.7.8 文档 中搜索"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="关于这些文档" href="../about.html" />
    <link rel="index" title="索引" href="../genindex.html" />
    <link rel="search" title="搜索" href="../search.html" />
    <link rel="copyright" title="版权所有" href="../copyright.html" />
    <link rel="next" title="pwd --- 用户密码数据库" href="pwd.html" />
    <link rel="prev" title="Unix 专有服务" href="unix.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <link rel="canonical" href="https://docs.python.org/3/library/posix.html" />
    
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    
    
    
    
    <style>
      @media only screen {
        table.full-width-table {
            width: 100%;
        }
      }
    </style>
 

  </head><body>
  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>导航</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="总目录"
             accesskey="I">索引</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python 模块索引"
             >模块</a> |</li>
        <li class="right" >
          <a href="pwd.html" title="pwd --- 用户密码数据库"
             accesskey="N">下一页</a> |</li>
        <li class="right" >
          <a href="unix.html" title="Unix 专有服务"
             accesskey="P">上一页</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <a href="../index.html">3.7.8 Documentation</a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="unix.html" accesskey="U">Unix 专有服务</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="快速搜索" type="text" name="q" />
          <input type="submit" value="转向" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>    

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="module-posix">
<span id="posix-the-most-common-posix-system-calls"></span><h1><a class="reference internal" href="#module-posix" title="posix: The most common POSIX system calls (normally used via module os). (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code></a> --- 最常见的 POSIX 系统调用<a class="headerlink" href="#module-posix" title="永久链接至标题">¶</a></h1>
<hr class="docutils" />
<p>此模块提供了对基于 C 标准和 POSIX 标准（一种稍加修改的 Unix 接口）进行标准化的系统功能的访问。</p>
<p id="index-0"><strong>请勿直接导入此模块。</strong> 而应导入 <a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 模块，它提供了此接口的 <em>可移植</em> 版本。 在 Unix 上，<a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 模块提供了 <a class="reference internal" href="#module-posix" title="posix: The most common POSIX system calls (normally used via module os). (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code></a> 接口的一个超集。 在非 Unix 操作系统上 <a class="reference internal" href="#module-posix" title="posix: The most common POSIX system calls (normally used via module os). (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code></a> 模块将不可用，但会通过 <a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 接口提供它的一个可用子集。 一旦导入了 <a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a>，用它替代 <a class="reference internal" href="#module-posix" title="posix: The most common POSIX system calls (normally used via module os). (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code></a> 时就 <em>没有</em> 性能惩罚。 此外，<a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 还提供了一些附加功能，例如在 <code class="docutils literal notranslate"><span class="pre">os.environ</span></code> 中的某个条目被修改时会自动调用 <a class="reference internal" href="os.html#os.putenv" title="os.putenv"><code class="xref py py-func docutils literal notranslate"><span class="pre">putenv()</span></code></a>。</p>
<p>错误将作为异常被报告；对于类型错误会给出普通异常，而系统调用所报告的异常则会引发 <a class="reference internal" href="exceptions.html#OSError" title="OSError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">OSError</span></code></a>。</p>
<div class="section" id="large-file-support">
<span id="posix-large-files"></span><h2>大文件支持<a class="headerlink" href="#large-file-support" title="永久链接至标题">¶</a></h2>
<p id="index-1">某些操作系统（包括 AIX, HP-UX, Irix 和 Solaris）可对 <code class="xref c c-type docutils literal notranslate"><span class="pre">int</span></code> 和 <code class="xref c c-type docutils literal notranslate"><span class="pre">long</span></code> 为 32 位值的 C 编程模型提供大于 2 GiB 的文件的支持。 这在通常情况下是以将相关数据长度和偏移类型定义为 64 位值的方式来实现的。 这样的文件有时被称为 <em class="dfn">大文件</em>。</p>
<p>Python 中的大文件支持会在 <code class="xref c c-type docutils literal notranslate"><span class="pre">off_t</span></code> 的大小超过 <code class="xref c c-type docutils literal notranslate"><span class="pre">long</span></code> 且 <code class="xref c c-type docutils literal notranslate"><span class="pre">long</span> <span class="pre">long</span></code> 至少与 <code class="xref c c-type docutils literal notranslate"><span class="pre">off_t</span></code> 一样大时被启用。 要启用此模式可能必须在启用特定编译旗标的情况下执行 Python 配置和编译。 例如，在最近几个版本的 Irix 中默认启用了大文件支持，但在 Solaris 2.6 和 2.7 中你还需要执行这样的操作:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">CFLAGS</span><span class="o">=</span><span class="s2">&quot;`getconf LFS_CFLAGS`&quot;</span> <span class="n">OPT</span><span class="o">=</span><span class="s2">&quot;-g -O2 $CFLAGS&quot;</span> \
        <span class="o">./</span><span class="n">configure</span>
</pre></div>
</div>
<p>在支持大文件的 Linux 系统中，可以这样做:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">CFLAGS</span><span class="o">=</span><span class="s1">&#39;-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64&#39;</span> <span class="n">OPT</span><span class="o">=</span><span class="s2">&quot;-g -O2 $CFLAGS&quot;</span> \
        <span class="o">./</span><span class="n">configure</span>
</pre></div>
</div>
</div>
<div class="section" id="notable-module-contents">
<span id="posix-contents"></span><h2>重要的模块内容<a class="headerlink" href="#notable-module-contents" title="永久链接至标题">¶</a></h2>
<p>除了 <a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 模块文档已说明的许多函数，<a class="reference internal" href="#module-posix" title="posix: The most common POSIX system calls (normally used via module os). (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code></a> 还定义了下列数据项:</p>
<dl class="data">
<dt id="posix.environ">
<code class="sig-prename descclassname">posix.</code><code class="sig-name descname">environ</code><a class="headerlink" href="#posix.environ" title="永久链接至目标">¶</a></dt>
<dd><p>一个表示解释器启动时间点的字符串环境的字典。 键和值的类型在Unix 上为 bytes 而在 Windows 上为 str。 例如，<code class="docutils literal notranslate"><span class="pre">environ[b'HOME']</span></code> (Windows 上的 <code class="docutils literal notranslate"><span class="pre">environ['HOME']</span></code>) 是你的家目录的路径名，等价于 C 中的 <code class="docutils literal notranslate"><span class="pre">getenv(&quot;HOME&quot;)</span></code>。</p>
<p>修改此字典不会影响由 <a class="reference internal" href="os.html#os.execv" title="os.execv"><code class="xref py py-func docutils literal notranslate"><span class="pre">execv()</span></code></a>, <a class="reference internal" href="os.html#os.popen" title="os.popen"><code class="xref py py-func docutils literal notranslate"><span class="pre">popen()</span></code></a> 或 <a class="reference internal" href="os.html#os.system" title="os.system"><code class="xref py py-func docutils literal notranslate"><span class="pre">system()</span></code></a> 所传入的字符串环境；如果你需要修改环境，请将 <code class="docutils literal notranslate"><span class="pre">environ</span></code> 传给 <a class="reference internal" href="os.html#os.execve" title="os.execve"><code class="xref py py-func docutils literal notranslate"><span class="pre">execve()</span></code></a> 或者为 <a class="reference internal" href="os.html#os.system" title="os.system"><code class="xref py py-func docutils literal notranslate"><span class="pre">system()</span></code></a> 或 <a class="reference internal" href="os.html#os.popen" title="os.popen"><code class="xref py py-func docutils literal notranslate"><span class="pre">popen()</span></code></a> 的命令字符串添加变量赋值和 export 语句。</p>
<div class="versionchanged">
<p><span class="versionmodified changed">在 3.2 版更改: </span>在 Unix 上，键和值为 bytes 类型。</p>
</div>
<div class="admonition note">
<p class="admonition-title">注解</p>
<p><a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 模块提供了对 <code class="docutils literal notranslate"><span class="pre">environ</span></code> 的替代实现，它会在被修改时更新环境。 还要注意更新 <a class="reference internal" href="os.html#os.environ" title="os.environ"><code class="xref py py-data docutils literal notranslate"><span class="pre">os.environ</span></code></a> 将导致此字典失效。 推荐使用这个 <a class="reference internal" href="os.html#module-os" title="os: Miscellaneous operating system interfaces."><code class="xref py py-mod docutils literal notranslate"><span class="pre">os</span></code></a> 模块版本而不是直接访问 <a class="reference internal" href="#module-posix" title="posix: The most common POSIX system calls (normally used via module os). (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code></a> 模块。</p>
</div>
</dd></dl>

</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">目录</a></h3>
  <ul>
<li><a class="reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">posix</span></code> --- 最常见的 POSIX 系统调用</a><ul>
<li><a class="reference internal" href="#large-file-support">大文件支持</a></li>
<li><a class="reference internal" href="#notable-module-contents">重要的模块内容</a></li>
</ul>
</li>
</ul>

  <h4>上一个主题</h4>
  <p class="topless"><a href="unix.html"
                        title="上一章">Unix 专有服务</a></p>
  <h4>下一个主题</h4>
  <p class="topless"><a href="pwd.html"
                        title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pwd</span></code> --- 用户密码数据库</a></p>
  <div role="note" aria-label="source link">
    <h3>本页</h3>
    <ul class="this-page-menu">
      <li><a href="../bugs.html">提交 Bug</a></li>
      <li>
        <a href="https://github.com/python/cpython/blob/3.7/Doc/library/posix.rst"
            rel="nofollow">显示源代码
        </a>
      </li>
    </ul>
  </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>导航</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="总目录"
             >索引</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python 模块索引"
             >模块</a> |</li>
        <li class="right" >
          <a href="pwd.html" title="pwd --- 用户密码数据库"
             >下一页</a> |</li>
        <li class="right" >
          <a href="unix.html" title="Unix 专有服务"
             >上一页</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <a href="../index.html">3.7.8 Documentation</a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="unix.html" >Unix 专有服务</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="快速搜索" type="text" name="q" />
          <input type="submit" value="转向" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>  
    <div class="footer">
    &copy; <a href="../copyright.html">版权所有</a> 2001-2020, Python Software Foundation.
    <br />
    Python 软件基金会是一个非盈利组织。
    <a href="https://www.python.org/psf/donations/">请捐助。</a>
    <br />
    最后更新于 6月 29, 2020.
    <a href="../bugs.html">发现了问题</a>？
    <br />
    使用<a href="http://sphinx.pocoo.org/">Sphinx</a>2.3.1 创建。
    </div>

  </body>
</html>